﻿using System.Collections.Generic;

namespace com.binance.client.model.market
{
	using BinanceApiConstants = com.binance.client.constant.BinanceApiConstants;
	using ToStringBuilder = org.apache.commons.lang3.builder.ToStringBuilder;


	public class ExchangeInfoEntry
	{

		private string symbol;

		private string status;

		private decimal maintMarginPercent;

		private decimal requiredMarginPercent;

		private string baseAsset;

		private string quoteAsset;

		private long? pricePrecision;

		private long? quantityPrecision;

		private long? baseAssetPrecision;

		private long? quotePrecision;

		private IList<string> orderTypes;

		private IList<string> timeInForce;

		private IList<IList<IDictionary<string, string>>> filters;

		public virtual string Symbol
		{
			get
			{
				return symbol;
			}
			set
			{
				this.symbol = value;
			}
		}


		public virtual string Status
		{
			get
			{
				return status;
			}
			set
			{
				this.status = value;
			}
		}


		public virtual decimal MaintMarginPercent
		{
			get
			{
				return maintMarginPercent;
			}
			set
			{
				this.maintMarginPercent = value;
			}
		}


		public virtual decimal RequiredMarginPercent
		{
			get
			{
				return requiredMarginPercent;
			}
			set
			{
				this.requiredMarginPercent = value;
			}
		}


		public virtual string BaseAsset
		{
			get
			{
				return baseAsset;
			}
			set
			{
				this.baseAsset = value;
			}
		}


		public virtual string QuoteAsset
		{
			get
			{
				return quoteAsset;
			}
			set
			{
				this.quoteAsset = value;
			}
		}


		public virtual long? PricePrecision
		{
			get
			{
				return pricePrecision;
			}
			set
			{
				this.pricePrecision = value;
			}
		}


		public virtual long? QuantityPrecision
		{
			get
			{
				return quantityPrecision;
			}
			set
			{
				this.quantityPrecision = value;
			}
		}


		public virtual long? BaseAssetPrecision
		{
			get
			{
				return baseAssetPrecision;
			}
			set
			{
				this.baseAssetPrecision = value;
			}
		}


		public virtual long? QuotePrecision
		{
			get
			{
				return quotePrecision;
			}
			set
			{
				this.quotePrecision = value;
			}
		}


		public virtual IList<string> OrderTypes
		{
			get
			{
				return orderTypes;
			}
			set
			{
				this.orderTypes = value;
			}
		}


		public virtual IList<string> TimeInForce
		{
			get
			{
				return timeInForce;
			}
			set
			{
				this.timeInForce = value;
			}
		}


		public virtual IList<IList<IDictionary<string, string>>> Filters
		{
			get
			{
				return filters;
			}
			set
			{
				this.filters = value;
			}
		}


		public override string ToString()
		{
			return (new ToStringBuilder(this, BinanceApiConstants.TO_STRING_BUILDER_STYLE)).append("symbol", symbol).append("status", status).append("maintMarginPercent", maintMarginPercent).append("requiredMarginPercent", requiredMarginPercent).append("baseAsset", baseAsset).append("quoteAsset", quoteAsset).append("pricePrecision", pricePrecision).append("quantityPrecision", quantityPrecision).append("baseAssetPrecision", baseAssetPrecision).append("quotePrecision", quotePrecision).append("orderTypes", orderTypes).append("timeInForce", timeInForce).append("filters", filters).ToString();
		}
	}

}